package com.zhl.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @Author: z156940l@outlook.com
 * @Date: 2021/8/2 15:05
 */
@AllArgsConstructor
@Getter
public enum SystemConst {
    //逻辑删除标志
    ALREADY_DELETE("已删除", 1),
    NOT_DELETE("未删除", 0),
    //登录过期时间
    WEB_LOGIN_VALID_TIME("web登录过期时间（秒）", 10800),
    APP_LOGIN_VALID_TIME("app登录过期时间（秒）", 3600 * 24 * 7),
    SMALLPRO_LOGIN_VALID_TIME("登录过期时间（秒）", 3600 * 24 * 7),
    TOKEN_USER_INFO("userInfo", 1),
    //登录类型
    APP_LOGIN("app端登录", 1),
    WEB_LOGIN("web端登录", 2),
    //启用 禁用
    FORBIDDEN("禁用", 0),
    ENABLE("启用", 1),
    //扫码登录跳转接口
    SCAN_CODE_LOGIN_VERIFY_JUMP_URL("/login/verifyLogin/", 1),
    SCAN_CODE_LOGIN_CANCEL_JUMP_URL("/login/cancelLogin/", 0),
    //角色相关
    INNER_ROLE("系统内置角色", 1),
    OUT_ADD_ROLE("页面新增角色", 0),
    //返现设置
    CASH_BACK_FOR_DAY("按日返现", 1),
    CASH_BACK_FOR_MONTH("按月返现", 2),
    ;

    /**
     * 状态描述
     */
    private String msg;

    /**
     * 状态码
     */
    private Integer code;

    /**
     * 根据编码查找枚举
     *
     * @param code 编码
     * @return {@link SystemConst } 实例
     **/
    public static SystemConst find(String code) {
        for (SystemConst instance : SystemConst.values()) {
            if (instance.getCode().equals(code)) {
                return instance;
            }
        }
        return null;
    }
}
